package cn.sciento.wechat.enterprise.service;

import java.util.List;
import cn.sciento.wechat.enterprise.dto.ConvertToOpenidResultDTO;
import cn.sciento.wechat.enterprise.dto.ConvertToUseridResultDTO;
import cn.sciento.wechat.enterprise.dto.CreateDeptResultDTO;
import cn.sciento.wechat.enterprise.dto.CreateTagDTO;
import cn.sciento.wechat.enterprise.dto.CreateTagResultDTO;
import cn.sciento.wechat.enterprise.dto.DefaultResultDTO;
import cn.sciento.wechat.enterprise.dto.DeptListDTO;
import cn.sciento.wechat.enterprise.dto.DeptUserDTO;
import cn.sciento.wechat.enterprise.dto.GetJoinQrcodeResultDTO;
import cn.sciento.wechat.enterprise.dto.GetTagUserListResultDTO;
import cn.sciento.wechat.enterprise.dto.GetTagUserResultDTO;
import cn.sciento.wechat.enterprise.dto.GetUserDTO;
import cn.sciento.wechat.enterprise.dto.GetUserInfoByCodeResultDTO;
import cn.sciento.wechat.enterprise.dto.GetUserInfoByDeptIdResultDTO;
import cn.sciento.wechat.enterprise.dto.InviteUserDTO;
import cn.sciento.wechat.enterprise.dto.InviteUserResultDTO;
import cn.sciento.wechat.enterprise.dto.TagUserDTO;
import cn.sciento.wechat.enterprise.dto.TagUserResultDTO;
import cn.sciento.wechat.enterprise.dto.UpdateTagNameDTO;
import cn.sciento.wechat.enterprise.dto.WechatSyncDeptDTO;
import cn.sciento.wechat.enterprise.dto.WechatSyncUserDTO;

public interface WechatCorpAddressService {
  DefaultResultDTO createUser(WechatSyncUserDTO paramWechatSyncUserDTO, String paramString);
  
  GetUserDTO getUserById(String paramString1, String paramString2);
  
  DefaultResultDTO updateUser(WechatSyncUserDTO paramWechatSyncUserDTO, String paramString);
  
  DefaultResultDTO deleteUserById(String paramString1, String paramString2);
  
  DefaultResultDTO batchDeleteUser(List<String> paramList, String paramString);
  
  DeptUserDTO getUsersByDeptId(Long paramLong, String paramString, int paramInt);
  
  GetUserInfoByDeptIdResultDTO getUserInfoByDeptId(String paramString, Long paramLong, int paramInt);
  
  ConvertToOpenidResultDTO convertToOpenid(String paramString1, String paramString2);
  
  ConvertToUseridResultDTO convertToUserid(String paramString1, String paramString2);
  
  DefaultResultDTO secondAuth(String paramString1, String paramString2);
  
  InviteUserResultDTO inviteUser(String paramString, InviteUserDTO paramInviteUserDTO);
  
  GetJoinQrcodeResultDTO getJoinQrcode(String paramString1, String paramString2);
  
  GetUserInfoByCodeResultDTO getUserInfoByCode(String paramString1, String paramString2);
  
  CreateDeptResultDTO createDept(WechatSyncDeptDTO paramWechatSyncDeptDTO, String paramString);
  
  DefaultResultDTO updateDept(WechatSyncDeptDTO paramWechatSyncDeptDTO, String paramString);
  
  DefaultResultDTO deleteDeptById(Long paramLong, String paramString);
  
  DeptListDTO getDeptList(Long paramLong, String paramString);
  
  CreateTagResultDTO createTag(String paramString, CreateTagDTO paramCreateTagDTO);
  
  DefaultResultDTO updateTagName(String paramString, UpdateTagNameDTO paramUpdateTagNameDTO);
  
  DefaultResultDTO deleteTag(String paramString1, String paramString2);
  
  GetTagUserResultDTO getTagUser(String paramString1, String paramString2);
  
  TagUserResultDTO addTagUser(String paramString, TagUserDTO paramTagUserDTO);
  
  TagUserResultDTO deleteTagUser(String paramString, TagUserDTO paramTagUserDTO);
  
  GetTagUserListResultDTO getTagUserList(String paramString);
}
